/*
 * @Description:
 * @Author:
 * @Date: 2020-05-14 16:48:33
 * @LastEditTime: 2020-12-10 17:25:35
 * @LastEditors:
 */
// 中台线上地址
const url = 'https://cp.zyue27.com';

// 企业微信api地址
const apiUrl = 'https://qyapi.weixin.qq.com';

//资源服务器地址，加载文件
const imgBaseUrl = 'http://mf.dev.gientech.com:7442/';

const CompressionWebpackPlugin = require('compression-webpack-plugin');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin

module.exports = {
	lintOnSave: false,

	publicPath: './',

	// 将构建好的文件输出到哪里
	outputDir: 'dist/',

	// 放置生成的静态资源(js、css、img、fonts)的目录。
	assetsDir: 'assets',

	// 指定生成的 index.html 的输出路径
	indexPath: 'index.html',

	// 是否使用包含运行时编译器的 Vue 构建版本。设置为 true 后你就可以在 Vue 组件中使用 template 选项了，但是这会让你的应用额外增加 10kb 左右。
	runtimeCompiler: false,

	// 默认情况下 babel-loader 会忽略所有 node_modules 中的文件。如果你想要通过 Babel 显式转译一个依赖，可以在这个选项中列出来。
	transpileDependencies: [],

	// 生产环境关闭 source map
	productionSourceMap: false,
	css: {
		sourceMap: false, // css sourceMap 配置     
		loaderOptions: {
			//对应适配
			postcss: {
				// 这是rem适配的配置  注意： remUnit在这里要根据lib-flexible的规则来配制，如果您的设计稿是750px的，用75就刚刚好。
				plugins: [
					require("postcss-px2rem")({
						remUnit: 37.5
					})]
			},
		}
	},

	// configureWebpack: {
	// 	plugins: [
	// 		new BundleAnalyzerPlugin() // 分析打包大小使用默认配置         
	// 	]
	// },

	chainWebpack: (config) => {
		config.plugin('html').tap((args) => {
			const date = new Date();
			args[0].createDate = date;
			args[0].buildId = 'CorpId=' + process.env.VUE_APP_CorpId + '&TenantId=' + process.env.VUE_APP_TenantId;
			args[0].appId = 'ww8fdd985a70c6d1f0';
			return args;
		});
		config.plugin('compressionPlugin').use(
			new CompressionWebpackPlugin({
				test: /\.(js|css|svg|woff|ttf|json|html)$/, /// 匹配文件名
				threshold: 10240, //对超过10k的数据压缩
				minRatio: 0.8,
				deleteOriginalAssets: false, // 不删除源文件
			}),
		);
	},

	devServer: {
		host: '0.0.0.0',
		port: 8080, // 端口号
		https: false, // https:{type:Boolean}
		open: false, // 配置自动启动浏览器  open: 'Google Chrome'-默认启动谷歌
		// 配置多个代理
		proxy: {
			'/cp': {
				target: url,
				ws: false, // 代理的WebSockets
				changeOrigin: true, // 允许websockets跨域
				pathRewrite: {
					'^/cp': '/cp',
				},
			},
			'/mfs': {
				target: imgBaseUrl, //图片代理
				ws: false, // 需要websocket 开启
				pathRewrite: {
					'^/mfs': '/mfs',
				},
			},
			'/': {
				target: apiUrl,
				ws: false, // 代理的WebSockets
				changeOrigin: true, // 允许websockets跨域
				pathRewrite: {
					'^/': '/',
				},
			},
		},
	},
};
